home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
gnu
/
nethack.lha
/
nethack-3.1
/
src
/
windows.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-14
|
1KB
|
63 lines
/* SCCS Id: @(#)windows.c 3.1 93/01/08 */
/* Copyright (c) D. Cohrs, 1993. */
/* NetHack may be freely redistributed. See license for details. */
#include "hack.h"
#ifdef TTY_GRAPHICS
#include "wintty.h"
#endif
#ifdef X11_GRAPHICS
/* cannot just blindly include winX.h without including all of X11 stuff */
/* and must get the order of include files right. Don't bother */
extern struct window_procs X11_procs;
extern void NDECL(win_X11_init);
#endif
#ifdef MAC
extern struct window_procs mac_procs ;
#endif
#ifdef AMIGA_INTUITION
extern struct window_procs amii_procs ;
#endif
struct window_procs NEARDATA windowprocs;
static
struct win_choices {
struct window_procs *procs;
void NDECL((*ini_routine)); /* optional (can be 0) */
} winchoices[] = {
#ifdef TTY_GRAPHICS
{ &tty_procs, win_tty_init },
#endif
#ifdef X11_GRAPHICS
{ &X11_procs, win_X11_init },
#endif
#ifdef MAC
{ & mac_procs , NULL } ,
#endif
#ifdef AMIGA_INTUITION
{ & amii_procs , NULL } ,
#endif
{ 0, 0 } /* must be last */
};
void
choose_windows(s)
const char *s;
{
register int i;
for(i=0; winchoices[i].procs; i++)
if (!strcmpi(s, winchoices[i].procs->name)) {
windowprocs = *winchoices[i].procs;
if (winchoices[i].ini_routine) (*winchoices[i].ini_routine)();
return;
}
raw_printf("Window type %s not recognized. Choices are:", s);
for(i=0; winchoices[i].procs; i++)
raw_printf(" %s", winchoices[i].procs->name);
}
/*windows.c*/